package com.ctsims.system.domain;

import java.time.Year;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ctsims.common.annotation.Excel;
import com.ctsims.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 班级对象 cts_cls
 *
 * @author hhz
 * @date 2023-03-30
 */
public class CtsCls extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 班级ID */
    private Long clsId;

    /** 学院ID */
    private Integer deptId;

    /** 专业班级名 */
    @Excel(name = "专业班级名")
    private String clsName;

    /** 入校年份 */
    @DateTimeFormat(pattern = "yyyy")
    @JsonFormat(pattern = "yyyy")
    @Excel(name = "入校年份", width = 30, dateFormat = "yyyy")
    private Year clsYear;

    /** 学生信息信息 */
    private List<CtsStu> ctsStuList;

    public void setClsId(Long clsId)
    {
        this.clsId = clsId;
    }

    public Long getClsId()
    {
        return clsId;
    }
    public void setDeptId(Integer deptId)
    {
        this.deptId = deptId;
    }

    public Integer getDeptId()
    {
        return deptId;
    }
    public void setClsName(String clsName)
    {
        this.clsName = clsName;
    }

    public String getClsName()
    {
        return clsName;
    }
    public void setClsYear(Year clsYear)
    {
        this.clsYear = clsYear;
    }

    public Year getClsYear()
    {
        return clsYear;
    }

    public List<CtsStu> getCtsStuList()
    {
        return ctsStuList;
    }

    public void setCtsStuList(List<CtsStu> ctsStuList)
    {
        this.ctsStuList = ctsStuList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("clsId", getClsId())
            .append("deptId", getDeptId())
            .append("clsName", getClsName())
            .append("clsYear", getClsYear())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("ctsStuList", getCtsStuList())
            .toString();
    }
}
